{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "本书配套视频课程：[解剖深度学习原理，从0实现深度学习库](https://ke.qq.com/course/2900371?tuin=ac5537fd) \n",
    "\n",
    "更多代码或学习资料将向购买视频课程或书的学生提供。\n",
    "\n",
    "\n",
    "+ 博客网站：[https://hwdong-net.github.io](https://hwdong-net.github.io)\n",
    "+ youtube频道: [hwdong](http://www.youtube.com/c/hwdong)\n",
    "+ bilibili网站：[hw-dong](https://space.bilibili.com/281453312)\n",
    "\n",
    "## 1.4  概率\n",
    "\n",
    "下面的代码用函数one_coin_test(n)模拟一次试验（抛n次硬币），返回其中出现正面的频率。可以看到随着n增大，频率是逼近概率0.5的。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7, 0.49203980099502487, 0.5099750623441397, 0.4960066555740433, 0.49737827715355803, 0.5028971028971029, 0.5047460449625312, 0.4952890792291221, 0.4956277326670831, 0.5003331482509716, 0.5020489755122439, 0.5012267151294866, 0.49683465222823825, 0.5051518646674356, 0.5009639414494823, 0.5015994668443852, 0.498406747891284, 0.5017053807703616, 0.5000555401277423, 0.4980531439094975, 0.5009997500624844, 0.5013806236610331, 0.5011133833219723, 0.5008041730058683, 0.4982503645073943, "
     ]
    }
   ],
   "source": [
    "from random import randint\n",
    "def one_coin_test(n):\n",
    "    head_tails=[]\n",
    "    for i in range(n):\n",
    "        head_tails.append(randint(0,1))\n",
    "    heads = head_tails.count(1)\n",
    "    return heads/n\n",
    "\n",
    "for n in range(10,50000,2000):\n",
    "    print(one_coin_test(n),end=', ')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下列代码绘制了X取值0，1，2，3的这个概率分布率。可以看到出上述4个整数外，X取得其他值的概率为0。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline \n",
    "\n",
    "x = [0,1,2,3]\n",
    "p = [0.5,0.3,0.1,0.1]\n",
    "plt.vlines(0, 0, 0.5,color=\"red\")\n",
    "plt.vlines(1, 0, 0.3,color=\"red\")\n",
    "plt.vlines(2, 0, 0.1,color=\"red\")\n",
    "plt.vlines(3, 0, 0.1,color=\"red\")\n",
    "plt.scatter(x,p)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下列代码绘制了不同的$\\mu,\\sigma$值的高斯概率密度："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "def gaussian(x, mu, sigma):\n",
    "    return 1/(sigma*np.sqrt(2*np.pi))*np.exp(-np.power(x - mu, 2) / (2 * np.power(sigma, 2.)))\n",
    "\n",
    "x = np.linspace(-5, 5, 100)\n",
    "plt.plot(x, gaussian(x,0,0.5))\n",
    "plt.plot(x, gaussian(x,-2,0.7))\n",
    "plt.plot(x, gaussian(x,0,1))\n",
    "plt.plot(x, gaussian(x,1,2.3))\n",
    "plt.legend(['$\\mu=0,\\sigma=0.5$','$\\mu=-2,\\sigma=0.7$','$\\mu=0,\\sigma=1$','$\\mu=1,\\sigma=2.3$'])\n",
    "#plt.axis('equal')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('p(x)')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "阶梯形的分布函数$F(x)$：\n",
    "\n",
    "$$F(x)=\\begin{cases}0, &x<3 \\cr 0.3, & 3\\leq x< 4\\cr 1, & x \\ge 4 \\end{cases}$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x20e42918850>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "lines = [(-2, 3), (0, 0),'r',(3, 4), (0.3, 0.3),'g',(4, 10), (1, 1),'b']\n",
    "plt.plot(*lines)\n",
    "plt.scatter(3,0, s=50, facecolors='none', edgecolors='r')\n",
    "plt.scatter(4,0.3, s=50, facecolors='none', edgecolors='g')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面代码绘制了上图的高斯概率密度对应的分布函数："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.integrate import quad\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "def gaussian(x, mu, sigma):\n",
    "    return 1/(sigma*np.sqrt(2*np.pi))*np.exp(-np.power(x - mu, 2) / (2 * np.power(sigma, 2.)))\n",
    "def gaussion_dist(x,mu, sigma):\n",
    "    return quad(gaussian, np.inf,x, args=(mu, sigma))\n",
    "vec_gaussion_dist = np.vectorize(gaussion_dist) \n",
    "\n",
    "x = np.linspace(-5, 5, 100)\n",
    "plt.plot(x, vec_gaussion_dist(x,0,0.5)[0])\n",
    "plt.plot(x, vec_gaussion_dist(x,-2,0.7)[0])\n",
    "plt.plot(x, vec_gaussion_dist(x,0,1)[0])\n",
    "plt.plot(x, vec_gaussion_dist(x,1,2.3)[0])\n",
    "plt.legend(['$\\mu=0,\\sigma=0.5$','$\\mu=-2,\\sigma=0.7$','$\\mu=0,\\sigma=1$','$\\mu=1,\\sigma=2.3$'])\n",
    "\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('p(x)')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
